
# wait   使用 wait 是在等待上一批或上一个脚本执行完（即上一个的进程终止），再执行wait之后的命令。

# "B =~ A"介绍 "=~"表示正则表达式匹配，就是等号两边的字符串是否有能匹配上的。即判断A字符是否在B集合中

# 调用一个shell脚本函数：function_name arg1 arg2 ...  通过其位置$1、$2等引用参数。$0表示函数的名称。

# $@  传递给脚本或函数的所有参数

# tr命令可以对来自标准输入的字符进行替换、压缩和删除。
string="brx,test,qq"
array=(`echo $string | tr ',' ' '` )
echo ${array[@]}
:<<!
[root@xy]# bash c.sh
brx test qq
!

# &&  ||
:<<!
如果第一个命令执行成功，与操作符 (&&)才会执行第二个命令
如果第一个命令执行失败，或操作符 (||)才会执行第二个命令

demo:
echo "1" && echo "2" || echo "3" && echo "4" || echo "5" || echo "6" && echo "7" && echo "8" || echo "9"
1 2 4 7 8

如果想改变执行逻辑，可以加优先操作符()
(Command_x1 && Command_x2) || (Command_x3 && Command_x4)
!

# 通过用户的键盘输入  read
read -p "please input your first name:" firstname
read -p "please input your last name:" lastname
echo -e "your full name :" ${firstname} ${lastname}
exit 0

# []  [[]]
:<<!
# <和>在[[ ]]中用作排序，而[ ]不支持
[root@yu]# [[ 6 > A ]] && echo "Y" || echo "N"
N
[root@yu]# [ 6 > A ] && echo "Y" || echo "N"
Y

# 都支持 && ||
[root@yu]# [[ 12 == 12 ]] && echo "qq" || echo "ww"
qq
[root@yu]# [ 12 == 12 ] && echo "qq" || echo "ww"
qq

# == 没有区别
[root@yu]# name="brx"
[root@yu]# [[ $name == "brx" ]] && echo "Y" || echo "N"
Y
[root@yu]# [[ $name == "br" ]] && echo "Y" || echo "N"
N
[root@yu]# [[ $name == "b*" ]] && echo "Y" || echo "N"
N
[root@yu]#
[root@yu]# [ $name == "brx" ] && echo "Y" || echo "N"
Y
[root@yu]# [ $name == "br" ] && echo "Y" || echo "N"
N
[root@yu]# [ $name == "b*" ] && echo "Y" || echo "N"
N

# =~ 正则匹配  [] 不支持
[root@yu]# [[ "$(docker --version)" =~ "version" ]] && echo "Y" || echo "N"
Y
[root@yu]# [ "$(docker --version)" =~ "version" ] && echo "Y" || echo "N"
-bash: [: =~: binary operator expected
N
!







